// 导入axios
import Vue from 'vue';
import axios from 'axios';
import router from '../router';
// 按需导入element-ui的消息提示对象
import { Message } from 'element-ui';
// 全局设置数据接口的基础域名
axios.defaults.baseURL='http://localhost:3000/api';
// 添加请求拦截器
axios.interceptors.request.use(request=>{
    // 从本地存储中读取登录信息
    const adminInfo=JSON.parse(localStorage.getItem('adminInfo')||'{}');
    // 通过自定义请求头将登录凭证token发送给数据接口
    request.headers.authorization=adminInfo.token;
    return request;
});
// 添加响应拦截器
axios.interceptors.response.use(response=>{
    // 登录超时
    if(response.data.code===403){
        // 登录超时错误提示
        Message.error(response.data.msg);
        // 自动跳转到登录页面
        router.push('/login');
    }
    // 将数据接口返回的真实数据返回
    return response.data;
});
// 在组件中可以通过this.$axios()直接使用axios?
// 将axios挂载到vue的原型对象上
Vue.prototype.$axios=axios;
// 导出
export default axios;